#ifndef ABSTRACTEDITFORMACTIONS_H
#define ABSTRACTEDITFORMACTIONS_H



#include <CampaignSetting.h>
#include <ItemModel.h>


#include <QAction>


class AbstractEditFormActions
{

public:


    virtual RootItem* root() const = 0;
    virtual D20BaseModel* model() const = 0;

    virtual void open(RootItem* root) = 0;
    virtual bool save() = 0;
    virtual bool saveAs() = 0;

    virtual bool changed() const = 0;
    virtual void updateData() = 0;

protected:

    virtual void initialize() = 0;
    virtual void onActionTriggered(QAction* action) = 0;



};



#endif // ABSTRACTEDITFORMACTIONS_H


